﻿// 802 取石子游戏.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>


using namespace std;
/*
http://oj.daimayuan.top/course/22/problem/902

有一堆石子，大小为x
。Alice和Bob轮流操作，Alice先手。Alice每次可以取a1,a2,…,或an1
个石子（也就是选一个数ai
，取ai
个石子），Bob每次可以取b1,b2,…,或bn2
个石子。谁不能操作就输。

问谁能获胜，对于x=1∼m
都输出答案。

输入格式
第一行两个整数n1,n2,m(n1,n2≤2000,m≤2000)
。

接下来一行，n1
个整数a1,a2,…,an1(1≤ai≤m)
。

接下来一行，n2
个整数b1,b2,…,bn2(1≤bi≤m)
。

输出格式
输出m
行，每行Alice或者Bob，表示最后的胜者。

样例输入
3 5 10
1 3 4
2 3 5 6 7
样例输出
Alice
Alice
Alice
Alice
Alice
Bob
Alice
Alice
Bob
Bob
*/

const int N = 2010;
int n1, n2, m, A[N], B[N], a[N], b[N];


int main()
{
	scanf("%d%d%d",&n1,&n2,&m);
	for (int i = 1; i <= n1; i++) {
		scanf("%d",&a[i]);
	}
	for (int i = 1; i <= n2; i++) {
		scanf("%d",&b[i]);
	}
	for (int i = 1; i <= m; i++) {
		for (int j = 1; j <= n1; j++) {
			if (i >= a[j] && B[i - a[j]] == 0) {
				A[i] = 1;
				break;
			}
		}
		for (int j = 1; j <= n2; j++) {
			if (i >= b[j] && A[i - b[j]] == 0) {
				B[i] = 1;
				break;
			}
		}
		puts(A[i] ?  "Alice":"Bob");
	}


	return 0;
}

 